<#include "common/ReuseLogging.ftl">
debugLogging.assignCommParam('${nodeId}', '${nodeType}', '${nodeName}', node.${parentNodeId}<#if loop> + '_' + loopIndex</#if>, '');

<#include "common/UndefinedCheck.ftl">

if(
<#list ifTrue.conditionList as item >
    ${item.left} ${item.comparator} <#if item.right??>${item.right}</#if> <#sep>${ifTrue.logicRelation}
</#list>
){
    node.${nodeId}<#if loop> + '_' + loopIndex</#if> = true;
    <#if loop> node.${nodeId}.push(true);</#if>
    debugLogging.assignOutput(true);
    logEndTime = DebugLogging.getTimestamp();
    debugLogging.assignDiffTime(logStartTime, logEndTime);
    node.debugLog.push(debugLogging);
    <#list methodCalls as call>
        <#if call_index == 0>
            ${call}
        </#if>
    </#list>
}else{
    node.${nodeId}<#if loop> + '_' + loopIndex</#if> = false;
    <#if loop> node.${nodeId}.push(false);</#if>
    debugLogging.assignOutput(false);
    logEndTime = DebugLogging.getTimestamp();
    debugLogging.assignDiffTime(logStartTime, logEndTime);
    node.debugLog.push(debugLogging);
    <#list methodCalls as call>
        <#if call_index == 1>
            ${call}
        </#if>
    </#list>
}